package ClassesBasicas;

import java.util.Collection;
import java.util.Date;

import javax.persistence.*;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

@Entity
@Table(name = "medico")
@PrimaryKeyJoinColumn(name = "codigo_pessoa")
public class Medico extends Funcionario{
	
	@Column (name="crm")
	private String crm;
	 
	@OneToOne(cascade = javax.persistence.CascadeType.ALL)
	@PrimaryKeyJoinColumn
	private Horario horario;
	
	@OneToMany(mappedBy = "medico", fetch = FetchType.LAZY)
	@Cascade(CascadeType.ALL)
	private Collection<Especialidade> especialidades;

	public Medico(String nome, String cpf, Date dataNascimento, String sexo,
			Endereco endereco,Horario horario, String crm) {
		this.crm = crm;
		this.horario = horario;
	}


	public Horario getHorario() {
		return horario;
	}
	public void setHorario(Horario horario) {
		this.horario = horario;
	}
	public Collection<Especialidade> getEspecialidade() {
		return especialidades;
	}
	
	public void setEspecialidade(Collection<Especialidade> especialidade) {
		this.especialidades = especialidade;
	}

	public String getCrm() {
		return crm;
	}
	public void setCrm(String crm) {
		this.crm = crm;
	}
	

}
